监督学习

符号定义:

符号 意义
$m$ 训练集包含的数据个数
$x$ 输入变量/特征(feature)
$y$ 输出变量/目标(target)
$(x, y)$ 一个训连样本
$(x^{(i)}, y^{(i)})$ 第 i 个训练样本

监督学习的主要流程:

线性回归

以预测房价为例,我们的目标是导出一个函数(即假设),根据房子的特征(比如大小、卧室数量等等)来预测房价,那么:

  • 输入(特征):$x_1, x_2, …$(比如大小、卧室数量等等)
  • 输出(目标):$y$(房价)
  • 假设:$h(x)=h_{\theta}(x)=\theta_0+\theta_1x_1+\theta_2x_2+…+\theta_nx_n$,用于预测房价,其中$\theta_i$是参数,$n$是特征数量

    为了方便,可以将假设写成:$h(x)=\sum_{i=0}^n\theta_ix_i=\theta^Tx​$

此时,学习函数(Learning Algorithm)的目标就是找到合适的参数$\theta$,使之能够导出『合理』的假设$h(x)$,这里我们将『合理』理解为:$h_\theta(x)$(假设)和$y$(目标)之间的差距最小,也即:

这里的$\frac{1}{2}$是为了简化之后的计算。

我们定义,那么我们的目标就是去选取合适的$\theta$,以最小化$J(\theta)$。

梯度下降法

搜索算法(梯度下降)

目的:不断改变$\theta$,从而来减少$J(\theta)$。

原理:每次都往下降最快的地方走,从而找到一个局部最优解。

一般会初始化$\vec{\theta}=\vec{0}$,然后每次都沿着梯度方向走,以保证每次都往下降最快的地方走:

其中,$:=$表示赋值操作,$\alpha$为步长。

对于某个训练样本$(x, y)​$

那么,

批量梯度下降法(Batch Gradient Descent)

批量梯度下降法,使用的是所有训练样本的平均梯度:

但每次下降都需要遍历所有样本,效率较低,具体过程可能如下:

随机梯度下降法(Stochastic Gradient Descent)

又称为『增量梯度下降法』

对每个样本$(x_{(j)}, y_{(j)})$进行:

直到收敛

这时,每次梯度下降只遍历一个样本,具体过程可能如下: